#ifndef __HIKARI_H_COMPONENT__
#define __HIKARI_H_COMPONENT__

#include"hikari.h"

class hComponent{

private:
	wstring name;
	bool enabled;
	bool updateOnRender;
public:
	hComponent(){
		enabled=true;
		updateOnRender=false;
	}

	void setUpdateOnRender(bool value){
		updateOnRender=value;
	}

	bool isUpdateOnRender(){
		return updateOnRender;
	}

	wstring&getName(){
		return name;
	}

	void setName(const wstring&name){
		this->name=name;
	}

	bool isEnabled(){
		return enabled;
	}

	void setEnabled(bool enabled){
		this->enabled=enabled;
	}
	virtual void onRender(HikariContext*context, HObj*object){}
	virtual void update(HikariContext*context, HObj*object)=0;
	virtual void onSceneLoad(HikariContext*context, HObj*object){}
	virtual void onSceneUnload(HikariContext*context, HObj*object){}
};

#endif